home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
081
/
outer.arc
/
OUTER.DOC
< prev
next >
Wrap
Text File
|
1986-11-12
|
9KB
|
187 lines
OUTER
Copyright 1986
by
Ron Bemis
FidoNode 151/104
OUTER is a program written in the C programming language to support the
O)utside command in Fido. OUTER allows a remote user to run external programs
that the sysop selects. The sysop has complete control over what programs
are usable by users at each privilege level, and a log of all activity is
maintained. Starting with version 1.17, OUTER requires that the device driver
OUTER.SYS be installed. That is, DEVICE=OUTER.SYS must be in the CONFIG.SYS
file. OUTER.SYS is supplied with OUTER. Also highly suggested but not
required is the IBMAUX device driver (DEVICE=IBMAUX1.SYS) which will allow
you to use the CTTY AUX1 command to redirect all input/output to both the
console and com port in place of CTTY COM1. IBMAUX also filters ^C from the
com port, making it impossible for a user to ^C their way to your DOS.
CALLING SYNTAX:
OUTER { /1 | /2 | /t } [ time/l ] [ pin/v ] [ /s ] [task/i]
The parameters have exactly the same meaning as those used with Fido with the
exception of /s. /s is used to run the program with sysop privileges without
the need to log into Fido in test mode only to set up LASTUSER.BBS. Use
"OUTER /t /s" for testing purposes from the console. Typing OUTER with no
parameters will give a quick summary of the above syntax.
FILES USED BY OUTER
OUTER.WEL - a text file containing a welcome message to be displayed when
the user first enters OUTER.
OUTER.HLP - a text file containing information to be displayed when the user
enters the "?" command.
SYSOP.LOG - updated by OUTER. Added will be the user's name, the time he/she
started OUTER; the command and starting time of each service executed; the
time of return from each service, and the time OUTER was exited. If this is
inappropriate for your situation, use DEBUG or NORTON UTILITIES to change all
references of "Sysop.Log" to "Outer.Log" in the OUTER.EXE file.
OUTER.BBS - a text file containing the list of commands OUTER can execute.
Each line has the form:
Privel Command_letter Command_to_execute; Description_given_to_user
Privil is the privilege level required for access. This may be any one of
the privilege levels: Twit, Disgrace, Normal, Privel, Extra, or Sysop. Users
below the required level will neither see nor be able to execute the command.
Case is unimportant, and only the first letter of the privilege level is
required. This should be the first character of the line, and the privilege
level letter or word should be followed by at least one space to separate it
from the Command_letter.
Command_letter is the command by which the user will select this entry.
Again, upper or lower case are the same, and a full word may be specified,
although only the first character is used. Letters or numbers or even special
symbols are okay, but "0" and "?" are reserved. Using letters in alphabetical
order seems to be the easiest to maintain, and insures that users at lower
access levels will not notice "gaps" in available services. This also must
be followed by at least one space to separate it from the Command_to_execute.
Command_to_execute is the command that will be executed by selecting the
command "C". This can be a DOS internal or external command, complete with
parameters and/or switches exactly as if it were typed at the command line.
This command will not be visible to the user. Version 2.0 and above has been
fixed so that the command is not capitalized before being passed to DOS.
Be sure to follow Command_to_execute with a semicolon (";") to separate it
from the Description_given_to_user.
Description_given_to_user is self-explanatory.
EXECUTION
The user of Outer will see a menu like this:
Ron Bemis has 13 minutes left outside Fido
A) Examine archive (*.ARC) files
M) Check for your messages in all areas
N) Search for new files added to this BBS
Q) Show the approximate time
U) Upgrade me! (SysOp approval only)
0) Quit OUTER
?) Help with OUTER
Your selection?
The user's time limit in OUTER is determined by the sysop in the RUNBBS.BAT
file. The OUTER time limit switche (/l) has the same meaning as that used
on the FIDO command line.
As in Fido, the /l value is doubled for PRIVEL and EXTRA levels, and halved
for TWIT levels. Users at the SYSOP level are allowed a per-session time of
4 times the /l value.
When OUTER starts, LASTUSER.BBS is read to determine the user's name and
privilege level. USER.BBS is searched for the user's name, and the FULL
time limit for the OUTER session is added to his/her daily time used. If
and when the user exits OUTER, any time left is subtracted from this time.
So, if the user hangs up while in OUTER, he is "charged" the full OUTER
time limit. This keeps users by hogging the system by causing Fido to
disallow access when their daily time limit is exceeded.
Checks are made to ensure that OUTER will not overrun a scheduled event before
an actual time limit is established. If the time before an event is less than
3 minutes, the user is not allowed access to OUTER. If more than 3 minutes,
but less than the usual time limit, the user is notified than a scheduled
event is approaching, and that his time limit has been reduced.
OUTER has its own carrier detect "watchdog" function built in. The use of the
WATCHDOG program is not necessary when using OUTER. This built-in watchdog
uses the parameters given (/1 or /2 and the /V) to monitor the presence of
carrier detect. The use of the /t parameter disables this feature - allowing
testing from the console.
If a user hangs up while in OUTER, or the time limit expires, the system will
boot and the user will be "charged" the full amount of time allotted.
In a multi-user environment, it is not desirable for the system to re-boot
when one user hangs up or times out. Ray Gwinn at 109/639 is working on a
solution to this problem. For now, if you use the /t parameter on the command
line, OUTER will never make the system boot. The program will however, exit
at any time the main menu is entered and the time left is less than or equal
to 0. (i.e. whenever it would normally say "... has 0 minutes left outside
Fido".) This is not very foolproof - if someone hangs up, the computer will
remain in OUTER until someone else calls, at which time the program will most
likely have timed out; when the new users returns to the menu, the program
will then exit to the RUNBBS.BAT file.
A user is prevented from "breaking out" of OUTER - control-C is disabled.
In an external program, control-C will work as expected, returning control
back to OUTER. This is not the case when using IBMAUX - it filters ALL
control-C characters from the com port. This is very important during the
second or two that it takes to load OUTER.EXE. If you choose to use CTTY
COM1 (or COM2), there is a second or two after that command while your
computer is loading OUTER.EXE that you are vulnerable to the user typing
control-C and getting the "Terminate batch job (Y/N)?" prompt. I'm sure
that if the user was banging on the control-C key, he would not type "N"
in answer to this question! Moral of the story? Use IBMAUX.
DEFAULT SWITCH VALUES
Session Time - 20 minutes (20/l)
CD Mask - 16 (16/v) - generally not the one needed!
Com port - COM1: (/1)
ERRORLEVELS RETURNED
0 = normal termination, user typed "0"
1 = time limit exceeded (with /t parameter)
OR scheduled event within 3 minutes
2 = parameter error on command line
3 = a file was not found (Lastuser.bbs, Outer.bbs, Sched.bbs, User.bbs)
4 = file error (LASTUSER.BBS not in USER.BBS)
5 = OUTER.SYS not installed
OUTER must be invoked from the RUNBBS.BAT file by setting it to run when Fido
exits with the O) ERRORLEVEL. This ERRORLEVEL is set with Fido's /a switch.
OUTER is distributed as Shareware. You may distribute it to other Fido SysOps
and run it yourself to see if you would like to use it regularly. Businesses,
for-profit organizations, and corporations must register this program. If you
decide to use OUTER on a regular basis, please register by sending $20 to:
Ron Bemis
GTE Gov't Systems
400 Park Plaza
Research Triangle Park, NC 27709
Those who register will receive the next update via file attach as soon as
it is released. They will also be the first to preview other utilities from
151/104.
Other sysop utilities and programs to run from within OUTER are constantly
being developed and made available on 151/104. Comments and suggestions are
always welcome.
Enjoy.
Ron Bemis
Sysop 151/104
919-942-9267